<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .bigbox {
            box-sizing: border-box;
            width: 500px;
            height: 300px;
            border: 1px solid gray;
            text-align: center;
            padding-top: 50px;
        }

        .bigbox .block input {
            height: 40px;
            /* padding-left: 20px; */
            border: 1px solid #ccc;
            border-radius: 5px;
            width: 70%;
            outline: none;
            box-sizing: border-box;
            margin-bottom: 10px;
        }

        .bigbox .wenzi {
            color: blue;
            margin-left: 280px;
            font-size: 14px
        }

        .bigbox .block:nth-child(4) input {
            background-color: rgb(0, 123, 255);
            font-weight: 700;
            text-align: center;
            font-size: 16px;
            color: white;
        }
    </style>
</head>

<body>
    <div class="bigbox">
        <div class="block">
            <input type="text" placeholder="手机号/用户名/邮箱">
        </div>
        <div class="block">
            <input type="password" placeholder="密码">
        </div>
        <div class="wenzi">忘记密码?</div>
        <div class="block">
            <input type="button" value="登录">
        </div>
    </div>
</body>

</html>
<script>
    // 对象转查询字符串
    function objToSearchString(obj) {
        var str = ''
        for (var key in obj) {
            str += `${key}=${obj[key]}&`
        }
        return str.slice(0, str.length - 1);
    }
    // 封装ajax函数
    function ajax(method, url, params, cb) {
        // 1.创建请求对象
        var xhr = new XMLHttpRequest()
        // 2.配置请求对象
        xhr.open(method, method == 'get' ? url + "?" + objToSearchString(params) : url)
        // 3.设置回调函数
        xhr.onreadystatechange = function () {
            if (xhr.readyState == 4) {
                cb(JSON.parse(xhr.responseText))
            }
        }
        // 4.发送请求
        // 先对post请求 设置content-type 请求头
        xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');//请求头的作用：就是为了把参数以对象（键值对）的形式传过去
        xhr.send(method == 'get' ? null : objToSearchString(params))
    }
    // 获取三个input输入框
    var inputs = document.querySelectorAll('input')
    // console.log(inputs);
    // 给button绑定点击事件
    inputs[2].onclick = function () {
        // 对表单内容做校验（为空校验，格式校验）
        // 如果手机号和密码存在的话
        if (inputs[0].value && inputs[1].value) {
            // 进入格式校验
            if(/^\d{4}$/.test(inputs[1].value)){ 
                // 通过校验，发起登录请求
                ajax('get','https://yantianfeng.com/api/login',{username:inputs[0].value,password:inputs[1].value},function(data){
                    console.log(data);
                    if(data.status == 200){
                        console.log('登陆成功');
                    }else{
                        console.log('登陆失败');
                    }
                })
            }else{
                alert('请输入正确的手机号/密码')
            }
        }else{
            alert('用户名/密码不能为空')
        }
    }

</script>